home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1987-08-01 | 5.6 KB | [ TEXT/MPS ]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
Confidence Program Detection Match Type Support
66%
dexvert
ZX81 Sinclair BASIC (image/sinclairBASIC)
ext
Supported
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Sat Aug 1 16:30:39 1987, modified Sat Aug 1 16:30:39 1987, creator 'MPS ', type ASCII, 5183 bytes "recvString.p" , at 0x14bf 382 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ MPS ]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0c 72 65 63 76 53 74 | 72 69 6e 67 2e 70 00 00 |..recvSt|ring.p..| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......| |00000050| 00 00 00 00 00 14 3f 00 | 00 01 7e 9d 38 00 6f 9d |......?.|..~.8.o.| |00000060| 38 00 6f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |8.o.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 eb 75 00 00 |........|.....u..| |00000080| 7b 24 52 2d 7d 0d 0d 28 | 2a 0d 09 72 65 63 76 53 |{$R-}..(|*..recvS| |00000090| 74 72 69 6e 67 28 70 6f | 72 74 20 6e 75 6d 62 65 |tring(po|rt numbe| |000000a0| 72 2c 20 74 65 72 6d 69 | 6e 61 74 69 6f 6e 20 63 |r, termi|nation c| |000000b0| 68 61 72 61 63 74 65 72 | 2c 20 77 61 69 74 54 69 |haracter|, waitTi| |000000c0| 6d 65 2c 20 65 63 68 6f | 2c 20 65 64 69 74 2c 6f |me, echo|, edit,o| |000000d0| 6c 64 53 74 72 69 6e 67 | 29 20 2d 2d 20 52 65 74 |ldString|) -- Ret| |000000e0| 75 72 6e 20 61 20 73 74 | 72 69 6e 67 20 66 72 6f |urn a st|ring fro| |000000f0| 6d 20 74 68 65 0d 09 09 | 73 65 72 69 61 6c 20 70 |m the...|serial p| |00000100| 6f 72 74 3b 20 72 65 74 | 75 72 6e 20 65 76 65 72 |ort; ret|urn ever| |00000110| 79 74 68 69 6e 67 20 61 | 76 61 69 6c 61 62 6c 65 |ything a|vailable| |00000120| 2c 20 75 70 20 74 6f 20 | 74 68 65 20 74 65 72 6d |, up to |the term| |00000130| 69 6e 61 74 69 6f 6e 20 | 63 68 61 72 61 63 74 65 |ination |characte| |00000140| 72 20 28 69 66 20 61 6e | 79 29 2e 20 50 61 73 73 |r (if an|y). Pass| |00000150| 20 61 6e 20 65 6d 70 74 | 79 0d 09 09 74 65 72 6d | an empt|y...term| |00000160| 69 6e 61 74 69 6f 6e 20 | 63 68 61 72 61 63 74 65 |ination |characte| |00000170| 72 20 74 6f 20 72 65 63 | 65 69 76 65 20 65 76 65 |r to rec|eive eve| |00000180| 72 79 74 68 69 6e 67 20 | 61 76 61 69 6c 61 62 6c |rything |availabl| |00000190| 65 2e 20 57 61 69 74 54 | 69 6d 65 20 69 73 20 74 |e. WaitT|ime is t| |000001a0| 68 65 20 61 6d 6f 75 6e | 74 20 6f 66 20 74 69 6d |he amoun|t of tim| |000001b0| 65 20 74 6f 20 77 61 69 | 74 0d 09 09 66 6f 72 20 |e to wai|t...for | |000001c0| 74 68 65 20 69 6e 70 75 | 74 2c 20 69 6e 20 74 69 |the inpu|t, in ti| |000001d0| 63 6b 73 20 28 36 30 74 | 68 73 20 6f 66 20 61 20 |cks (60t|hs of a | |000001e0| 73 65 63 6f 6e 64 29 2e | 20 45 63 68 6f 20 69 73 |second).| Echo is| |000001f0| 20 74 72 75 65 20 74 6f | 20 65 6e 61 62 6c 65 20 | true to| enable | |00000200| 65 63 68 6f 69 6e 67 2e | 20 45 64 69 74 20 69 73 |echoing.| Edit is| |00000210| 20 74 72 75 65 20 74 6f | 20 65 6e 61 62 6c 65 20 | true to| enable | |00000220| 65 64 69 74 0d 09 09 63 | 68 61 72 61 63 74 65 72 |edit...c|haracter| |00000230| 73 20 28 69 2e 65 2e 2c | 20 62 61 63 6b 73 70 61 |s (i.e.,| backspa| |00000240| 63 65 29 2e 20 6f 6c 64 | 53 74 72 69 6e 67 20 69 |ce). old|String i| |00000250| 73 20 77 68 61 74 20 77 | 61 73 20 72 65 61 64 20 |s what w|as read | |00000260| 74 68 65 20 6c 61 73 74 | 20 63 61 6c 6c 20 28 70 |the last| call (p| |00000270| 72 65 73 75 6d 61 62 6c | 79 20 74 65 72 6d 69 6e |resumabl|y termin| |00000280| 61 74 65 64 0d 09 09 64 | 75 65 20 74 6f 20 61 20 |ated...d|ue to a | |00000290| 74 69 6d 65 2d 6f 75 74 | 29 2e 0d 0d 09 54 6f 20 |time-out|)....To | |000002a0| 63 6f 6d 70 69 6c 65 20 | 61 6e 64 20 6c 69 6e 6b |compile |and link| |000002b0| 20 74 68 69 73 20 66 69 | 6c 65 20 75 73 69 6e 67 | this fi|le using| |000002c0| 20 4d 61 63 69 6e 74 6f | 73 68 20 50 72 6f 67 72 | Macinto|sh Progr| |000002d0| 61 6d 6d 65 72 27 73 20 | 57 6f 72 6b 73 68 6f 70 |ammer's |Workshop| |000002e0| 2c 0d 0d 09 70 61 73 63 | 61 6c 20 2d 77 20 72 65 |,...pasc|al -w re| |000002f0| 63 76 53 74 72 69 6e 67 | 2e 70 0d 09 6c 69 6e 6b |cvString|.p..link| |00000300| 20 2d 6d 20 45 4e 54 52 | 59 50 4f 49 4e 54 20 2d | -m ENTR|YPOINT -| |00000310| 6f 20 48 79 70 65 72 43 | 6f 6d 6d 61 6e 64 73 20 |o HyperC|ommands | |00000320| 2d 72 74 20 58 46 43 4e | 3d 30 20 2d 73 6e 20 4d |-rt XFCN|=0 -sn M| |00000330| 61 69 6e 3d 72 65 63 76 | 55 70 54 6f 20 72 65 63 |ain=recv|UpTo rec| |00000340| 76 53 74 72 69 6e 67 2e | 70 2e 6f 20 22 7b 4d 50 |vString.|p.o "{MP| |00000350| 57 7d 22 4c 69 62 72 61 | 72 69 65 73 3a 69 6e 74 |W}"Libra|ries:int| |00000360| 65 72 66 61 63 65 2e 6f | 0d 09 0d 2a 29 0d 0d 7b |erface.o|...*)..{| |00000370| 24 53 20 72 65 63 76 53 | 74 72 69 6e 67 20 7d 20 |$S recvS|tring } | |00000380| 09 7b 20 53 65 67 6d 65 | 6e 74 20 6e 61 6d 65 20 |.{ Segme|nt name | |00000390| 6d 75 73 74 20 62 65 20 | 74 68 65 20 73 61 6d 65 |must be |the same| |000003a0| 20 61 73 20 74 68 65 20 | 63 6f 6d 6d 61 6e 64 20 | as the |command | |000003b0| 6e 61 6d 65 2e 20 7d 0d | 0d 75 6e 69 74 20 44 75 |name. }.|.unit Du| |000003c0| 6d 6d 79 55 6e 69 74 3b | 0d 0d 69 6e 74 65 72 66 |mmyUnit;|..interf| |000003d0| 61 63 65 0d 0d 75 73 65 | 73 20 4d 65 6d 54 79 70 |ace..use|s MemTyp| |000003e0| 65 73 2c 20 51 75 69 63 | 6b 44 72 61 77 2c 20 4f |es, Quic|kDraw, O| |000003f0| 53 49 6e 74 66 2c 20 54 | 6f 6f 6c 49 6e 74 66 2c |SIntf, T|oolIntf,| |00000400| 20 48 79 70 65 72 58 43 | 6d 64 3b 0d 0d 70 72 6f | HyperXC|md;..pro| |00000410| 63 65 64 75 72 65 20 45 | 6e 74 72 79 50 6f 69 6e |cedure E|ntryPoin| |00000420| 74 28 70 61 72 61 6d 50 | 74 72 3a 20 58 43 6d 64 |t(paramP|tr: XCmd| |00000430| 50 74 72 29 3b 0d 09 0d | 69 6d 70 6c 65 6d 65 6e |Ptr);...|implemen| |00000440| 74 61 74 69 6f 6e 0d 0d | 63 6f 6e 73 74 0d 0d 72 |tation..|const..r| |00000450| 65 74 75 72 6e 20 3d 20 | 63 68 72 28 31 33 29 3b |eturn = |chr(13);| |00000460| 0d 6c 69 6e 65 66 65 65 | 64 20 3d 20 63 68 72 28 |.linefee|d = chr(| |00000470| 31 30 29 3b 0d 62 73 20 | 3d 20 63 68 72 28 38 29 |10);.bs |= chr(8)| |00000480| 3b 0d 0d 74 79 70 65 0d | 0d 53 74 72 33 31 20 3d |;..type.|.Str31 =| |00000490| 20 53 74 72 69 6e 67 5b | 33 31 5d 3b 0d 0d 70 72 | String[|31];..pr| |000004a0| 6f 63 65 64 75 72 65 20 | 72 65 63 76 53 74 72 69 |ocedure |recvStri| |000004b0| 6e 67 28 70 61 72 61 6d | 50 74 72 3a 20 58 43 6d |ng(param|Ptr: XCm| |000004c0| 64 50 74 72 29 3b 20 66 | 6f 72 77 61 72 64 3b 0d |dPtr); f|orward;.| |000004d0| 0d 70 72 6f 63 65 64 75 | 72 65 20 45 6e 74 72 79 |.procedu|re Entry| |000004e0| 50 6f 69 6e 74 28 70 61 | 72 61 6d 50 74 72 3a 20 |Point(pa|ramPtr: | |000004f0| 58 43 6d 64 50 74 72 29 | 3b 0d 0d 09 62 65 67 69 |XCmdPtr)|;...begi| |00000500| 6e 0d 09 09 72 65 63 76 | 53 74 72 69 6e 67 28 70 |n...recv|String(p| |00000510| 61 72 61 6d 50 74 72 29 | 3b 0d 09 65 6e 64 3b 0d |aramPtr)|;..end;.| |00000520| 0d 70 72 6f 63 65 64 75 | 72 65 20 72 65 63 76 53 |.procedu|re recvS| |00000530| 74 72 69 6e 67 28 70 61 | 72 61 6d 50 74 72 3a 20 |tring(pa|ramPtr: | |00000540| 58 43 6d 64 50 74 72 29 | 3b 0d 0d 09 76 61 72 20 |XCmdPtr)|;...var | |00000550| 70 6f 72 74 4e 75 6d 62 | 65 72 3a 20 69 6e 74 65 |portNumb|er: inte| |00000560| 67 65 72 3b 0d 09 09 69 | 6e 50 6f 72 74 2c 20 6f |ger;...i|nPort, o| |00000570| 75 74 50 6f 72 74 3a 20 | 69 6e 74 65 67 65 72 3b |utPort: |integer;| |00000580| 0d 09 09 73 74 72 3a 20 | 53 74 72 32 35 35 3b 0d |...str: |Str255;.| |00000590| 09 09 6c 3a 20 6c 6f 6e | 67 49 6e 74 3b 0d 09 09 |..l: lon|gInt;...| |000005a0| 77 61 69 74 46 6f 72 43 | 68 61 72 73 3a 20 6c 6f |waitForC|hars: lo| |000005b0| 6e 67 49 6e 74 3b 0d 09 | 09 6c 6f 6f 6b 46 6f 72 |ngInt;..|.lookFor| |000005c0| 54 65 72 6d 3a 20 62 6f | 6f 6c 65 61 6e 3b 0d 09 |Term: bo|olean;..| |000005d0| 09 74 65 72 6d 43 68 61 | 72 3a 20 63 68 61 72 3b |.termCha|r: char;| |000005e0| 0d 09 09 65 63 68 6f 4f | 6e 3a 20 62 6f 6f 6c 65 |...echoO|n: boole| |000005f0| 61 6e 3b 0d 09 09 65 64 | 69 74 4f 6e 3a 20 62 6f |an;...ed|itOn: bo| |00000600| 6f 6c 65 61 6e 3b 0d 09 | 09 6c 69 6e 65 66 65 65 |olean;..|.linefee| |00000610| 64 53 74 72 3a 20 73 74 | 72 69 6e 67 5b 31 5d 3b |dStr: st|ring[1];| |00000620| 0d 09 09 62 73 53 74 72 | 3a 20 73 74 72 69 6e 67 |...bsStr|: string| |00000630| 5b 33 5d 3b 0d 09 09 72 | 65 73 75 6c 74 48 61 6e |[3];...r|esultHan| |00000640| 64 3a 20 48 61 6e 64 6c | 65 3b 0d 09 09 72 65 73 |d: Handl|e;...res| |00000650| 75 6c 74 53 69 7a 65 3a | 20 6c 6f 6e 67 49 6e 74 |ultSize:| longInt| |00000660| 3b 0d 09 09 74 68 65 43 | 68 61 72 3a 20 63 68 61 |;...theC|har: cha| |00000670| 72 3b 0d 09 09 70 3a 20 | 50 74 72 3b 0d 0d 09 7b |r;...p: |Ptr;...{| |00000680| 24 49 20 58 43 6d 64 47 | 6c 75 65 2e 69 6e 63 7d |$I XCmdG|lue.inc}| |00000690| 0d 0d 09 70 72 6f 63 65 | 64 75 72 65 20 46 61 69 |...proce|dure Fai| |000006a0| 6c 28 65 72 72 4d 73 67 | 3a 20 53 74 72 32 35 35 |l(errMsg|: Str255| |000006b0| 29 3b 20 7b 20 73 65 74 | 20 74 68 65 52 65 73 75 |); { set| theResu| |000006c0| 6c 74 20 61 6e 64 20 71 | 75 69 74 20 7d 0d 09 09 |lt and q|uit }...| |000006d0| 62 65 67 69 6e 0d 09 09 | 09 70 61 72 61 6d 50 74 |begin...|.paramPt| |000006e0| 72 5e 2e 72 65 74 75 72 | 6e 56 61 6c 75 65 20 3a |r^.retur|nValue :| |000006f0| 3d 20 50 61 73 54 6f 5a | 65 72 6f 28 65 72 72 4d |= PasToZ|ero(errM| |00000700| 73 67 29 3b 0d 09 09 09 | 65 78 69 74 28 72 65 63 |sg);....|exit(rec| |00000710| 76 53 74 72 69 6e 67 29 | 3b 0d 09 09 65 6e 64 3b |vString)|;...end;| |00000720| 0d 0d 09 62 65 67 69 6e | 0d 09 09 69 66 20 70 61 |...begin|...if pa| |00000730| 72 61 6d 50 74 72 5e 2e | 70 61 72 61 6d 43 6f 75 |ramPtr^.|paramCou| |00000740| 6e 74 20 3c 3e 20 36 20 | 74 68 65 6e 20 46 61 69 |nt <> 6 |then Fai| |00000750| 6c 28 27 70 61 72 61 6d | 65 74 65 72 20 63 6f 75 |l('param|eter cou| |00000760| 6e 74 20 69 73 20 6e 6f | 74 20 36 27 29 3b 0d 0d |nt is no|t 6');..| |00000770| 09 09 5a 65 72 6f 54 6f | 50 61 73 28 70 61 72 61 |..ZeroTo|Pas(para| |00000780| 6d 50 74 72 5e 2e 70 61 | 72 61 6d 73 5b 31 5d 5e |mPtr^.pa|rams[1]^| |00000790| 2c 73 74 72 29 3b 09 09 | 7b 20 46 69 72 73 74 20 |,str);..|{ First | |000007a0| 70 61 72 61 6d 65 74 65 | 72 20 69 73 20 70 6f 72 |paramete|r is por| |000007b0| 74 20 6e 75 6d 62 65 72 | 2e 20 7d 0d 09 09 70 6f |t number|. }...po| |000007c0| 72 74 4e 75 6d 62 65 72 | 20 3a 3d 20 53 74 72 54 |rtNumber| := StrT| |000007d0| 6f 4e 75 6d 28 73 74 72 | 29 3b 0d 09 09 69 66 20 |oNum(str|);...if | |000007e0| 28 70 6f 72 74 4e 75 6d | 62 65 72 20 3c 20 31 29 |(portNum|ber < 1)| |000007f0| 20 6f 72 20 28 70 6f 72 | 74 4e 75 6d 62 65 72 20 | or (por|tNumber | |00000800| 3e 20 32 29 20 74 68 65 | 6e 20 46 61 69 6c 28 27 |> 2) the|n Fail('| |00000810| 69 6e 76 61 6c 69 64 20 | 70 6f 72 74 20 6e 75 6d |invalid |port num| |00000820| 62 65 72 27 29 3b 0d 09 | 09 5a 65 72 6f 54 6f 50 |ber');..|.ZeroToP| |00000830| 61 73 28 70 61 72 61 6d | 50 74 72 5e 2e 70 61 72 |as(param|Ptr^.par| |00000840| 61 6d 73 5b 32 5d 5e 2c | 73 74 72 29 3b 09 09 7b |ams[2]^,|str);..{| |00000850| 20 53 65 63 6f 6e 64 20 | 70 61 72 61 6d 65 74 65 | Second |paramete| |00000860| 72 20 69 73 20 74 65 72 | 6d 69 6e 61 74 69 6f 6e |r is ter|mination| |00000870| 20 63 68 61 72 61 63 74 | 65 72 2e 20 7d 0d 09 09 | charact|er. }...| |00000880| 69 66 20 6c 65 6e 67 74 | 68 28 73 74 72 29 20 3d |if lengt|h(str) =| |00000890| 20 30 20 74 68 65 6e 20 | 6c 6f 6f 6b 46 6f 72 54 | 0 then |lookForT| |000008a0| 65 72 6d 20 3a 3d 20 66 | 61 6c 73 65 0d 09 09 65 |erm := f|alse...e| |000008b0| 6c 73 65 0d 09 09 09 62 | 65 67 69 6e 0d 09 09 09 |lse....b|egin....| |000008c0| 09 6c 6f 6f 6b 46 6f 72 | 54 65 72 6d 20 3a 3d 20 |.lookFor|Term := | |000008d0| 74 72 75 65 3b 0d 09 09 | 09 09 74 65 72 6d 43 68 |true;...|..termCh| |000008e0| 61 72 20 3a 3d 20 73 74 | 72 5b 31 5d 3b 0d 09 09 |ar := st|r[1];...| |000008f0| 09 65 6e 64 3b 0d 09 09 | 5a 65 72 6f 54 6f 50 61 |.end;...|ZeroToPa| |00000900| 73 28 70 61 72 61 6d 50 | 74 72 5e 2e 70 61 72 61 |s(paramP|tr^.para| |00000910| 6d 73 5b 33 5d 5e 2c 73 | 74 72 29 3b 09 09 7b 20 |ms[3]^,s|tr);..{ | |00000920| 54 68 69 72 64 20 70 61 | 72 61 6d 65 74 65 72 20 |Third pa|rameter | |00000930| 69 73 20 77 68 65 74 68 | 65 72 20 74 6f 20 77 61 |is wheth|er to wa| |00000940| 69 74 2e 20 7d 0d 09 09 | 77 61 69 74 46 6f 72 43 |it. }...|waitForC| |00000950| 68 61 72 73 20 3a 3d 20 | 53 74 72 54 6f 4e 75 6d |hars := |StrToNum| |00000960| 28 73 74 72 29 3b 0d 09 | 09 5a 65 72 6f 54 6f 50 |(str);..|.ZeroToP| |00000970| 61 73 28 70 61 72 61 6d | 50 74 72 5e 2e 70 61 72 |as(param|Ptr^.par| |00000980| 61 6d 73 5b 34 5d 5e 2c | 73 74 72 29 3b 09 09 7b |ams[4]^,|str);..{| |00000990| 20 46 6f 75 72 74 68 20 | 70 61 72 61 6d 65 74 65 | Fourth |paramete| |000009a0| 72 20 69 73 20 77 68 65 | 74 68 65 72 20 74 6f 20 |r is whe|ther to | |000009b0| 65 63 68 6f 2e 20 7d 0d | 09 09 65 63 68 6f 4f 6e |echo. }.|..echoOn| |000009c0| 20 3a 3d 20 66 61 6c 73 | 65 3b 0d 09 09 69 66 20 | := fals|e;...if | |000009d0| 6c 65 6e 67 74 68 28 73 | 74 72 29 20 3e 20 30 20 |length(s|tr) > 0 | |000009e0| 74 68 65 6e 0d 09 09 09 | 69 66 20 28 73 74 72 5b |then....|if (str[| |000009f0| 31 5d 20 3d 20 27 74 27 | 29 20 6f 72 20 28 73 74 |1] = 't'|) or (st| |00000a00| 72 5b 31 5d 20 3d 20 27 | 54 27 29 20 74 68 65 6e |r[1] = '|T') then| |00000a10| 20 65 63 68 6f 4f 6e 20 | 3a 3d 20 74 72 75 65 3b | echoOn |:= true;| |00000a20| 0d 09 09 5a 65 72 6f 54 | 6f 50 61 73 28 70 61 72 |...ZeroT|oPas(par| |00000a30| 61 6d 50 74 72 5e 2e 70 | 61 72 61 6d 73 5b 35 5d |amPtr^.p|arams[5]| |00000a40| 5e 2c 73 74 72 29 3b 09 | 09 7b 20 46 69 66 74 68 |^,str);.|.{ Fifth| |00000a50| 20 70 61 72 61 6d 65 74 | 65 72 20 69 73 20 77 68 | paramet|er is wh| |00000a60| 65 74 68 65 72 20 74 6f | 20 65 64 69 74 2e 20 7d |ether to| edit. }| |00000a70| 0d 09 09 65 64 69 74 4f | 6e 20 3a 3d 20 66 61 6c |...editO|n := fal| |00000a80| 73 65 3b 0d 09 09 69 66 | 20 6c 65 6e 67 74 68 28 |se;...if| length(| |00000a90| 73 74 72 29 20 3e 20 30 | 20 74 68 65 6e 0d 09 09 |str) > 0| then...| |00000aa0| 09 69 66 20 28 73 74 72 | 5b 31 5d 20 3d 20 27 74 |.if (str|[1] = 't| |00000ab0| 27 29 20 6f 72 20 28 73 | 74 72 5b 31 5d 20 3d 20 |') or (s|tr[1] = | |00000ac0| 27 54 27 29 20 74 68 65 | 6e 20 65 64 69 74 4f 6e |'T') the|n editOn| |00000ad0| 20 3a 3d 20 74 72 75 65 | 3b 0d 09 09 72 65 73 75 | := true|;...resu| |00000ae0| 6c 74 48 61 6e 64 20 3a | 3d 20 70 61 72 61 6d 50 |ltHand :|= paramP| |00000af0| 74 72 5e 2e 70 61 72 61 | 6d 73 5b 36 5d 3b 09 09 |tr^.para|ms[6];..| |00000b00| 09 7b 20 53 69 78 74 68 | 20 70 61 72 61 6d 65 74 |.{ Sixth| paramet| |00000b10| 65 72 20 69 73 20 74 68 | 65 20 6f 6c 64 20 73 74 |er is th|e old st| |00000b20| 72 69 6e 67 2e 20 7d 0d | 09 09 69 66 20 72 65 73 |ring. }.|..if res| |00000b30| 75 6c 74 48 61 6e 64 20 | 3d 20 4e 49 4c 20 74 68 |ultHand |= NIL th| |00000b40| 65 6e 20 46 61 69 6c 28 | 27 4e 49 4c 20 72 65 73 |en Fail(|'NIL res| |00000b50| 75 6c 74 48 61 6e 64 6c | 65 21 27 29 3b 0d 09 09 |ultHandl|e!');...| |00000b60| 6c 20 3a 3d 20 47 65 74 | 48 61 6e 64 6c 65 53 69 |l := Get|HandleSi| |00000b70| 7a 65 28 72 65 73 75 6c | 74 48 61 6e 64 29 3b 0d |ze(resul|tHand);.| |00000b80| 09 09 70 20 3a 3d 20 72 | 65 73 75 6c 74 48 61 6e |..p := r|esultHan| |00000b90| 64 5e 3b 0d 09 09 72 65 | 73 75 6c 74 53 69 7a 65 |d^;...re|sultSize| |00000ba0| 20 3a 3d 20 31 3b 0d 09 | 09 77 68 69 6c 65 20 72 | := 1;..|.while r| |00000bb0| 65 73 75 6c 74 53 69 7a | 65 20 3c 20 6c 20 64 6f |esultSiz|e < l do| |00000bc0| 0d 09 09 09 62 65 67 69 | 6e 0d 09 09 09 09 69 66 |....begi|n.....if| |00000bd0| 20 70 5e 20 3d 20 30 20 | 74 68 65 6e 20 6c 65 61 | p^ = 0 |then lea| |00000be0| 76 65 3b 0d 09 09 09 09 | 70 20 3a 3d 20 50 74 72 |ve;.....|p := Ptr| |00000bf0| 28 6f 72 64 34 28 70 29 | 2b 31 29 3b 0d 09 09 09 |(ord4(p)|+1);....| |00000c00| 09 72 65 73 75 6c 74 53 | 69 7a 65 20 3a 3d 20 72 |.resultS|ize := r| |00000c10| 65 73 75 6c 74 53 69 7a | 65 20 2b 20 31 3b 0d 09 |esultSiz|e + 1;..| |00000c20| 09 09 65 6e 64 3b 0d 09 | 09 69 66 20 72 65 73 75 |..end;..|.if resu| |00000c30| 6c 74 53 69 7a 65 20 3c | 20 31 20 74 68 65 6e 20 |ltSize <| 1 then | |00000c40| 46 61 69 6c 28 27 49 6e | 70 75 74 20 73 74 72 69 |Fail('In|put stri| |00000c50| 6e 67 20 73 69 7a 65 20 | 74 6f 6f 20 73 6d 61 6c |ng size |too smal| |00000c60| 6c 21 27 29 3b 0d 09 09 | 69 66 20 48 61 6e 64 54 |l!');...|if HandT| |00000c70| 6f 48 61 6e 64 28 72 65 | 73 75 6c 74 48 61 6e 64 |oHand(re|sultHand| |00000c80| 29 20 3c 3e 20 6e 6f 45 | 72 72 20 74 68 65 6e 20 |) <> noE|rr then | |00000c90| 46 61 69 6c 28 27 48 61 | 6e 64 54 6f 48 61 6e 64 |Fail('Ha|ndToHand| |00000ca0| 20 66 61 69 6c 65 64 21 | 27 29 3b 0d 09 09 72 65 | failed!|');...re| |00000cb0| 73 75 6c 74 53 69 7a 65 | 20 3a 3d 20 72 65 73 75 |sultSize| := resu| |00000cc0| 6c 74 53 69 7a 65 2d 31 | 3b 0d 09 09 53 65 74 48 |ltSize-1|;...SetH| |00000cd0| 61 6e 64 6c 65 53 69 7a | 65 28 72 65 73 75 6c 74 |andleSiz|e(result| |00000ce0| 48 61 6e 64 2c 72 65 73 | 75 6c 74 53 69 7a 65 29 |Hand,res|ultSize)| |00000cf0| 3b 0d 0d 09 09 69 66 20 | 70 6f 72 74 4e 75 6d 62 |;....if |portNumb| |00000d00| 65 72 20 3d 20 31 20 74 | 68 65 6e 0d 09 09 09 62 |er = 1 t|hen....b| |00000d10| 65 67 69 6e 0d 09 09 09 | 09 69 6e 50 6f 72 74 20 |egin....|.inPort | |00000d20| 3a 3d 20 2d 36 3b 0d 09 | 09 09 09 6f 75 74 50 6f |:= -6;..|...outPo| |00000d30| 72 74 20 3a 3d 20 2d 37 | 3b 0d 09 09 09 65 6e 64 |rt := -7|;....end| |00000d40| 0d 09 09 65 6c 73 65 0d | 09 09 09 62 65 67 69 6e |...else.|...begin| |00000d50| 0d 09 09 09 09 69 6e 50 | 6f 72 74 20 3a 3d 20 2d |.....inP|ort := -| |00000d60| 38 3b 0d 09 09 09 09 6f | 75 74 50 6f 72 74 20 3a |8;.....o|utPort :| |00000d70| 3d 20 2d 39 3b 0d 09 09 | 09 65 6e 64 3b 0d 09 09 |= -9;...|.end;...| |00000d80| 6c 69 6e 65 66 65 65 64 | 53 74 72 5b 30 5d 20 3a |linefeed|Str[0] :| |00000d90| 3d 20 63 68 72 28 31 29 | 3b 20 6c 69 6e 65 66 65 |= chr(1)|; linefe| |00000da0| 65 64 53 74 72 5b 31 5d | 20 3a 3d 20 6c 69 6e 65 |edStr[1]| := line| |00000db0| 66 65 65 64 3b 0d 09 09 | 62 73 53 74 72 20 3a 3d |feed;...|bsStr :=| |00000dc0| 20 27 20 20 20 27 3b 20 | 62 73 53 74 72 5b 31 5d | ' '; |bsStr[1]| |00000dd0| 20 3a 3d 20 62 73 3b 20 | 62 73 53 74 72 5b 33 5d | := bs; |bsStr[3]| |00000de0| 20 3a 3d 20 62 73 3b 0d | 09 09 77 61 69 74 46 6f | := bs;.|..waitFo| |00000df0| 72 43 68 61 72 73 20 3a | 3d 20 77 61 69 74 46 6f |rChars :|= waitFo| |00000e00| 72 43 68 61 72 73 20 2b | 20 54 69 63 6b 43 6f 75 |rChars +| TickCou| |00000e10| 6e 74 3b 0d 09 09 77 68 | 69 6c 65 20 54 69 63 6b |nt;...wh|ile Tick| |00000e20| 43 6f 75 6e 74 20 3c 3d | 20 77 61 69 74 46 6f 72 |Count <=| waitFor| |00000e30| 43 68 61 72 73 20 64 6f | 0d 09 09 09 62 65 67 69 |Chars do|....begi| |00000e40| 6e 0d 09 09 09 09 69 66 | 20 53 65 72 47 65 74 42 |n.....if| SerGetB| |00000e50| 75 66 28 69 6e 50 6f 72 | 74 2c 6c 29 20 3c 3e 20 |uf(inPor|t,l) <> | |00000e60| 6e 6f 45 72 72 20 74 68 | 65 6e 0d 09 09 09 09 09 |noErr th|en......| |00000e70| 62 65 67 69 6e 0d 09 09 | 09 09 09 09 44 69 73 70 |begin...|....Disp| |00000e80| 6f 73 48 61 6e 64 6c 65 | 28 72 65 73 75 6c 74 48 |osHandle|(resultH| |00000e90| 61 6e 64 29 3b 0d 09 09 | 09 09 09 09 46 61 69 6c |and);...|....Fail| |00000ea0| 28 27 53 65 72 47 65 74 | 42 75 66 20 66 61 69 6c |('SerGet|Buf fail| |00000eb0| 65 64 27 29 3b 0d 09 09 | 09 09 09 65 6e 64 3b 0d |ed');...|...end;.| |00000ec0| 09 09 09 09 69 66 20 6c | 20 3d 20 30 20 74 68 65 |....if l| = 0 the| |00000ed0| 6e 20 63 79 63 6c 65 3b | 0d 09 09 09 09 6c 20 3a |n cycle;|.....l :| |00000ee0| 3d 20 31 3b 0d 09 09 09 | 09 72 65 73 75 6c 74 53 |= 1;....|.resultS| |00000ef0| 69 7a 65 20 3a 3d 20 72 | 65 73 75 6c 74 53 69 7a |ize := r|esultSiz| |00000f00| 65 2b 31 3b 0d 09 09 09 | 09 53 65 74 48 61 6e 64 |e+1;....|.SetHand| |00000f10| 6c 65 53 69 7a 65 28 72 | 65 73 75 6c 74 48 61 6e |leSize(r|esultHan| |00000f20| 64 2c 72 65 73 75 6c 74 | 53 69 7a 65 29 3b 0d 09 |d,result|Size);..| |00000f30| 09 09 09 69 66 20 4d 65 | 6d 45 72 72 6f 72 20 3c |...if Me|mError <| |00000f40| 3e 20 6e 6f 45 72 72 20 | 74 68 65 6e 0d 09 09 09 |> noErr |then....| |00000f50| 09 09 62 65 67 69 6e 0d | 09 09 09 09 09 09 44 69 |..begin.|......Di| |00000f60| 73 70 6f 73 48 61 6e 64 | 6c 65 28 72 65 73 75 6c |sposHand|le(resul| |00000f70| 74 48 61 6e 64 29 3b 0d | 09 09 09 09 09 09 46 61 |tHand);.|......Fa| |00000f80| 69 6c 28 27 53 65 74 48 | 61 6e 64 6c 65 53 69 7a |il('SetH|andleSiz| |00000f90| 65 20 66 61 69 6c 65 64 | 21 27 29 3b 0d 09 09 09 |e failed|!');....| |00000fa0| 09 09 65 6e 64 3b 0d 09 | 09 09 09 48 4c 6f 63 6b |..end;..|...HLock| |00000fb0| 28 72 65 73 75 6c 74 48 | 61 6e 64 29 3b 0d 09 09 |(resultH|and);...| |00000fc0| 09 09 69 66 20 46 53 52 | 65 61 64 28 69 6e 50 6f |..if FSR|ead(inPo| |00000fd0| 72 74 2c 6c 2c 50 74 72 | 28 6f 72 64 34 28 72 65 |rt,l,Ptr|(ord4(re| |00000fe0| 73 75 6c 74 48 61 6e 64 | 5e 29 2b 72 65 73 75 6c |sultHand|^)+resul| |00000ff0| 74 53 69 7a 65 2d 31 29 | 29 20 3c 3e 20 6e 6f 45 |tSize-1)|) <> noE| |00001000| 72 72 20 74 68 65 6e 0d | 09 09 09 09 09 62 65 67 |rr then.|.....beg| |00001010| 69 6e 0d 09 09 09 09 09 | 09 44 69 73 70 6f 73 48 |in......|.DisposH| |00001020| 61 6e 64 6c 65 28 72 65 | 73 75 6c 74 48 61 6e 64 |andle(re|sultHand| |00001030| 29 3b 0d 09 09 09 09 09 | 09 46 61 69 6c 28 27 46 |);......|.Fail('F| |00001040| 53 52 65 61 64 20 66 61 | 69 6c 65 64 27 29 3b 0d |SRead fa|iled');.| |00001050| 09 09 09 09 09 65 6e 64 | 3b 0d 09 09 09 09 48 55 |.....end|;.....HU| |00001060| 6e 6c 6f 63 6b 28 72 65 | 73 75 6c 74 48 61 6e 64 |nlock(re|sultHand| |00001070| 29 3b 0d 09 09 09 09 70 | 20 3a 3d 20 50 74 72 28 |);.....p| := Ptr(| |00001080| 6f 72 64 34 28 72 65 73 | 75 6c 74 48 61 6e 64 5e |ord4(res|ultHand^| |00001090| 29 2b 72 65 73 75 6c 74 | 53 69 7a 65 2d 31 29 3b |)+result|Size-1);| |000010a0| 0d 09 09 09 09 70 5e 20 | 3a 3d 20 42 41 4e 44 28 |.....p^ |:= BAND(| |000010b0| 70 5e 2c 24 37 46 29 3b | 0d 09 09 09 09 74 68 65 |p^,$7F);|.....the| |000010c0| 43 68 61 72 20 3a 3d 20 | 63 68 72 28 70 5e 29 3b |Char := |chr(p^);| |000010d0| 0d 09 09 09 09 69 66 20 | 65 63 68 6f 4f 6e 20 74 |.....if |echoOn t| |000010e0| 68 65 6e 0d 09 09 09 09 | 09 62 65 67 69 6e 0d 09 |hen.....|.begin..| |000010f0| 09 09 09 09 09 6c 20 3a | 3d 20 31 3b 0d 09 09 09 |.....l :|= 1;....| |00001100| 09 09 09 69 66 20 46 53 | 57 72 69 74 65 28 6f 75 |...if FS|Write(ou| |00001110| 74 50 6f 72 74 2c 6c 2c | 50 74 72 28 6f 72 64 34 |tPort,l,|Ptr(ord4| |00001120| 28 72 65 73 75 6c 74 48 | 61 6e 64 5e 29 2b 72 65 |(resultH|and^)+re| |00001130| 73 75 6c 74 53 69 7a 65 | 2d 31 29 29 20 3c 3e 20 |sultSize|-1)) <> | |00001140| 6e 6f 45 72 72 20 74 68 | 65 6e 0d 09 09 09 09 09 |noErr th|en......| |00001150| 09 09 46 61 69 6c 28 27 | 46 53 57 72 69 74 65 72 |..Fail('|FSWriter| |00001160| 20 66 61 69 6c 65 64 27 | 29 3b 0d 09 09 09 09 09 | failed'|);......| |00001170| 09 69 66 20 74 68 65 43 | 68 61 72 20 3d 20 72 65 |.if theC|har = re| |00001180| 74 75 72 6e 20 74 68 65 | 6e 0d 09 09 09 09 09 09 |turn the|n.......| |00001190| 09 62 65 67 69 6e 0d 09 | 09 09 09 09 09 09 09 6c |.begin..|.......l| |000011a0| 20 3a 3d 20 6c 65 6e 67 | 74 68 28 6c 69 6e 65 66 | := leng|th(linef| |000011b0| 65 65 64 53 74 72 29 3b | 0d 09 09 09 09 09 09 09 |eedStr);|........| |000011c0| 09 69 66 20 46 53 57 72 | 69 74 65 28 6f 75 74 50 |.if FSWr|ite(outP| |000011d0| 6f 72 74 2c 6c 2c 50 74 | 72 28 6f 72 64 34 28 40 |ort,l,Pt|r(ord4(@| |000011e0| 6c 69 6e 65 66 65 65 64 | 53 74 72 29 2b 31 29 29 |linefeed|Str)+1))| |000011f0| 20 3c 3e 20 6e 6f 45 72 | 72 20 74 68 65 6e 20 46 | <> noEr|r then F| |00001200| 61 69 6c 28 27 46 53 57 | 72 69 74 65 20 66 61 69 |ail('FSW|rite fai| |00001210| 6c 65 64 27 29 3b 0d 09 | 09 09 09 09 09 09 65 6e |led');..|......en| |00001220| 64 3b 0d 09 09 09 09 09 | 09 69 66 20 65 64 69 74 |d;......|.if edit| |00001230| 4f 6e 20 61 6e 64 20 28 | 74 68 65 43 68 61 72 20 |On and (|theChar | |00001240| 3d 20 62 73 29 20 74 68 | 65 6e 0d 09 09 09 09 09 |= bs) th|en......| |00001250| 09 09 62 65 67 69 6e 0d | 09 09 09 09 09 09 09 09 |..begin.|........| |00001260| 6c 20 3a 3d 20 6c 65 6e | 67 74 68 28 62 73 53 74 |l := len|gth(bsSt| |00001270| 72 29 3b 0d 09 09 09 09 | 09 09 09 09 69 66 20 46 |r);.....|....if F| |00001280| 53 57 72 69 74 65 28 6f | 75 74 50 6f 72 74 2c 6c |SWrite(o|utPort,l| |00001290| 2c 50 74 72 28 6f 72 64 | 34 28 40 62 73 53 74 72 |,Ptr(ord|4(@bsStr| |000012a0| 29 2b 31 29 29 20 3c 3e | 20 6e 6f 45 72 72 20 74 |)+1)) <>| noErr t| |000012b0| 68 65 6e 20 46 61 69 6c | 28 27 46 53 57 72 69 74 |hen Fail|('FSWrit| |000012c0| 65 20 66 61 69 6c 65 64 | 27 29 3b 0d 09 09 09 09 |e failed|');.....| |000012d0| 09 09 09 65 6e 64 3b 0d | 09 09 09 09 09 65 6e 64 |...end;.|.....end| |000012e0| 3b 0d 09 09 09 09 69 66 | 20 65 64 69 74 4f 6e 20 |;.....if| editOn | |000012f0| 74 68 65 6e 0d 09 09 09 | 09 09 62 65 67 69 6e 0d |then....|..begin.| |00001300| 09 09 09 09 09 09 69 66 | 20 74 68 65 43 68 61 72 |......if| theChar| |00001310| 20 3d 20 62 73 20 74 68 | 65 6e 0d 09 09 09 09 09 | = bs th|en......| |00001320| 09 09 62 65 67 69 6e 0d | 09 09 09 09 09 09 09 09 |..begin.|........| |00001330| 72 65 73 75 6c 74 53 69 | 7a 65 20 3a 3d 20 72 65 |resultSi|ze := re| |00001340| 73 75 6c 74 53 69 7a 65 | 2d 32 3b 0d 09 09 09 09 |sultSize|-2;.....| |00001350| 09 09 09 09 69 66 20 72 | 65 73 75 6c 74 53 69 7a |....if r|esultSiz| |00001360| 65 20 3c 20 30 20 74 68 | 65 6e 20 72 65 73 75 6c |e < 0 th|en resul| |00001370| 74 53 69 7a 65 20 3a 3d | 20 30 3b 0d 09 09 09 09 |tSize :=| 0;.....| |00001380| 09 09 09 09 53 65 74 48 | 61 6e 64 6c 65 53 69 7a |....SetH|andleSiz| |00001390| 65 28 72 65 73 75 6c 74 | 48 61 6e 64 2c 72 65 73 |e(result|Hand,res| |000013a0| 75 6c 74 53 69 7a 65 29 | 3b 0d 09 09 09 09 09 09 |ultSize)|;.......| |000013b0| 09 65 6e 64 3b 0d 09 09 | 09 09 09 65 6e 64 3b 0d |.end;...|...end;.| |000013c0| 09 09 09 09 69 66 20 6c | 6f 6f 6b 46 6f 72 54 65 |....if l|ookForTe| |000013d0| 72 6d 20 74 68 65 6e 0d | 09 09 09 09 09 69 66 20 |rm then.|.....if | |000013e0| 74 68 65 43 68 61 72 20 | 3d 20 74 65 72 6d 43 68 |theChar |= termCh| |000013f0| 61 72 20 74 68 65 6e 20 | 6c 65 61 76 65 3b 0d 09 |ar then |leave;..| |00001400| 09 09 09 69 66 20 72 65 | 73 75 6c 74 53 69 7a 65 |...if re|sultSize| |00001410| 20 3e 20 33 30 30 30 30 | 20 74 68 65 6e 20 6c 65 | > 30000| then le| |00001420| 61 76 65 3b 0d 09 09 09 | 65 6e 64 3b 0d 09 09 53 |ave;....|end;...S| |00001430| 65 74 48 61 6e 64 6c 65 | 53 69 7a 65 28 72 65 73 |etHandle|Size(res| |00001440| 75 6c 74 48 61 6e 64 2c | 72 65 73 75 6c 74 53 69 |ultHand,|resultSi| |00001450| 7a 65 2b 31 29 3b 0d 09 | 09 70 20 3a 3d 20 70 74 |ze+1);..|.p := pt| |00001460| 72 28 6f 72 64 34 28 72 | 65 73 75 6c 74 48 61 6e |r(ord4(r|esultHan| |00001470| 64 5e 29 2b 72 65 73 75 | 6c 74 53 69 7a 65 29 3b |d^)+resu|ltSize);| |00001480| 0d 09 09 70 5e 20 3a 3d | 20 30 3b 0d 09 09 70 61 |...p^ :=| 0;...pa| |00001490| 72 61 6d 50 74 72 5e 2e | 72 65 74 75 72 6e 56 61 |ramPtr^.|returnVa| |000014a0| 6c 75 65 20 3a 3d 20 72 | 65 73 75 6c 74 48 61 6e |lue := r|esultHan| |000014b0| 64 3b 0d 09 65 6e 64 3b | 0d 0d 65 6e 64 2e 0d 00 |d;..end;|..end...| |000014c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000014d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000014e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000014f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001500| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2| |00001510| 3b 0d 09 20 57 48 49 4c | 45 20 63 6f 6d 6d 61 6e |;.. WHIL|E comman| |00001520| 64 50 74 72 5e 20 3c 3e | 20 30 20 44 4f 0d 09 20 |dPtr^ <>| 0 DO.. | |00001530| 1a 31 2e 20 44 44 45 78 | 70 61 6e 64 45 78 70 61 |.1. DDEx|pandExpa| |00001540| 6e 64 54 65 6d 70 46 69 | 6c 65 20 78 02 00 00 00 |ndTempFi|le x....| |00001550| 00 00 44 44 54 4d 44 44 | 41 50 01 00 00 00 00 00 |..DDTMDD|AP......| |00001560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001570| 00 00 a5 f3 ec 2a 00 00 | 14 3f 00 00 01 7e 6e 75 |.....*..|.?...~nu| |00001580| 6d 62 65 72 20 2b 20 4f | 52 44 28 63 68 29 20 2d |mber + O|RD(ch) -| |00001590| 20 4f 52 44 28 27 30 27 | 29 3b 0d 09 09 20 63 6f | ORD('0'|);... co| |000015a0| 6d 6d 61 6e 64 50 74 72 | 20 3a 3d 20 50 6f 69 6e |mmandPtr| := Poin| |000015b0| 74 65 72 28 4f 52 44 28 | 63 6f 6d 6d 61 6e 64 50 |ter(ORD(|commandP| |000015c0| 74 72 29 20 2b 20 31 29 | 3b 0d 09 20 20 20 45 4e |tr) + 1)|;.. EN| |000015d0| 44 3b 0d 09 20 49 46 20 | 6e 75 6d 62 65 72 20 3d |D;.. IF |number =| |000015e0| 20 30 20 54 48 45 4e 20 | 6e 75 6d 62 65 72 20 3a | 0 THEN |number :| |000015f0| 3d 20 31 3b 20 20 20 7b | 20 64 65 66 61 75 6c 74 |= 1; {| default| |00001600| 00 00 00 48 00 09 47 65 | 6e 65 76 61 00 09 54 6f |...H..Ge|neva..To| |00001610| 20 63 6f 6d 70 69 6c 65 | 20 61 6e 64 20 6c 69 6e | compile| and lin| |00001620| 6b 20 74 68 69 73 00 03 | 00 04 00 3c 00 24 01 53 |k this..|...<.$.S| |00001630| 01 fd 00 3c 00 24 01 53 | 01 fd 9d 37 c8 2f 00 00 |...<.$.S|...7./..| |00001640| 0b 3b 00 00 0b 3b 00 00 | 10 21 01 00 00 00 01 00 |.;...;..|.!......| |00001650| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 08 7a 00 |...L...L|...2..z.| |00001660| 04 c8 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..| |00001670| 00 0a 03 ed ff ff 00 00 | 00 00 00 09 7c 80 00 00 |........|....|...| +--------+-------------------------+-------------------------+--------+--------+